﻿Imports System.Data.SqlClient

Public Class frmE_Evaluacion
    Dim Bitacora As New clsActividad
    Dim Usuario As New clsUsuarioPrincipal

    Dim Empresa As Integer
    Dim strEmpresa As String

    Dim Pasajeros As Double
    Dim Bloqueos As Double
    Dim Monto As Double

    Private NombreOperadores As New DataTable("Nombres")
    Private AutoCompletadoOperadores As New AutoCompleteStringCollection
    Private NumerosEconomicos As New DataTable("NoEconomico")
    Private AutoCompletadoAutobuses As New AutoCompleteStringCollection
    Private CodigoOperadores As New DataTable("Codigos")
    Private AutoCompleadoCodigo As New AutoCompleteStringCollection
    Private Horarios As New DataTable("Horarios")
    Private AutoCompletadohorarios As New AutoCompleteStringCollection


    Private Sub frmE_Evaluacion_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        Bitacora.RegistraActividad("Cerró al Módulo de Evaluación")
        Usuario.Ubicacion("Módulo Evaluacion General")

        NombreOperadores.PrimaryKey = Nothing
        NombreOperadores.Clear()
        NombreOperadores.Columns.Clear()

        NumerosEconomicos.PrimaryKey = Nothing
        NumerosEconomicos.Clear()
        NumerosEconomicos.Columns.Clear()

        CodigoOperadores.PrimaryKey = Nothing
        CodigoOperadores.Clear()
        CodigoOperadores.Columns.Clear()

        Horarios.PrimaryKey = Nothing
        Horarios.Clear()
        Horarios.Columns.Clear()


    End Sub
    Sub CargaBuses()
        NumerosEconomicos.Columns.Add("NoEconomico")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "Select NoEconomico FROM Autobuses WHERE Estatus=1 Order By NoEconomico"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            NumerosEconomicos.Rows.Add(rdBuscar("NoEconomico").ToString.Trim)
        Loop

    End Sub
    Sub CargaOperadores()
        NombreOperadores.Columns.Add("Nombres")
        CodigoOperadores.Columns.Add("Codigos")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "Select Codigo,Nombre FROM OperadoresGlobal WHERE Empresa='" & strEmpresa & "' AND EstadoEmpleado<>'B' Order By Nombre"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader
        Do While rdBuscar.Read()
            NombreOperadores.Rows.Add(rdBuscar("Nombre").ToString.Trim)
            CodigoOperadores.Rows.Add(rdBuscar("Codigo").ToString.Trim)
        Loop

    End Sub
    Sub CargaHorarios()
        Horarios.Columns.Add("Horarios")

        Dim cnConn As New SqlConnection
        cnConn.ConnectionString = CitraConnection

        Dim strSql As String = ""
        strSql = "SELECT Horario FROM Horarios ORDER BY Horario"

        Dim cmdBuscar As New SqlCommand
        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql
        Dim rdBuscar As SqlDataReader
        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader

        Do While rdBuscar.Read()
            Horarios.Rows.Add(rdBuscar("Horario"))
        Loop
    End Sub
    Private Sub frmE_Evaluacion_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Bitacora.RegistraActividad("Ingresó al Módulo de Evaluación")
        Usuario.Ubicacion("Módulo Evaluación")

        TabEvaluacion.Visible = False

        Empresa = 100
        strEmpresa = "ASP"

        ToolStrip1.Cursor = Cursors.Hand
        ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip2.Cursor = Cursors.Hand
        ToolStrip2.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip3.Cursor = Cursors.Hand
        ToolStrip3.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip4.Cursor = Cursors.Hand
        ToolStrip4.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip5.Cursor = Cursors.Hand
        ToolStrip5.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip6.Cursor = Cursors.Hand
        ToolStrip6.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip7.Cursor = Cursors.Hand
        ToolStrip7.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip8.Cursor = Cursors.Hand
        ToolStrip8.RenderMode = System.Windows.Forms.ToolStripRenderMode.System
        ToolStrip9.Cursor = Cursors.Hand
        ToolStrip9.RenderMode = System.Windows.Forms.ToolStripRenderMode.System

        tabServicios.SelectedTab = pageServicios
        pageServicios.Parent = tabServicios
        pageResultadosServicios.Parent = tabServicios
        pagePresentacion.Parent = Nothing

        tabDiesel.SelectedTab = pageDiesel

        tabProductividad.SelectedTab = PageVentas

        CargaBuses()
        CargaOperadores()
        CargaHorarios()


        Dim Claves(0) As DataColumn
        Claves(0) = NombreOperadores.Columns("Nombres")
        NombreOperadores.PrimaryKey = Claves
        For Each Nombres In NombreOperadores.Rows
            AutoCompletadoOperadores.Add(Nombres("Nombres"))
        Next


        Dim Llaves(0) As DataColumn
        Llaves(0) = CodigoOperadores.Columns("Codigos")
        CodigoOperadores.PrimaryKey = Llaves
        For Each Codigos In CodigoOperadores.Rows
            AutoCompleadoCodigo.Add(Codigos("Codigos"))
        Next

        Dim Ids(0) As DataColumn
        Ids(0) = NumerosEconomicos.Columns("NoEconomico")
        NumerosEconomicos.PrimaryKey = Ids
        For Each NoEconomico In NumerosEconomicos.Rows
            AutoCompletadoAutobuses.Add(NoEconomico("NoEconomico"))
        Next

        Dim Hor(0) As DataColumn
        Hor(0) = Horarios.Columns("Horarios")
        Horarios.PrimaryKey = Hor
        For Each Horario In Horarios.Rows
            AutoCompletadohorarios.Add(Horario("Horarios"))
        Next

        Pasajeros = 0
        Bloqueos = 0
        Monto = 0

    End Sub


    Private Sub ToolStripButton9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton9.Click
        tabServicios.SelectedTab = pagePresentacion
        pageServicios.Parent = Nothing
        pageResultadosServicios.Parent = Nothing
        pagePresentacion.Parent = tabServicios
        pageResultadosServicios.Parent = tabServicios


    End Sub

    Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
        tabServicios.SelectedTab = pageServicios
        pageServicios.Parent = tabServicios
        pagePresentacion.Parent = Nothing
        pageResultadosServicios.Parent = Nothing
        pageResultadosServicios.Parent = tabServicios

    End Sub

    Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click
        Close()

    End Sub

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Close()

    End Sub

    Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click
        Close()

    End Sub

    Private Sub ToolStripButton18_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton18.Click
        Close()

    End Sub

    Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click
        Close()

    End Sub

    Private Sub ToolStripButton15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton15.Click
        Close()

    End Sub

    Private Sub ToolStripButton21_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton21.Click
        Close()

    End Sub

    Private Sub NuevaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NuevaToolStripMenuItem.Click


        TabEvaluacion.Visible = True

    End Sub
    Sub Iniciar()

        BuscaServiciosAnterior()
        BuscaPresentacionAnterior()
        BuscaResultadosServicios()
        BuscaDieselAnterior()
        BuscaResultadosDiesel()
        BuscaEvaluaciónMatriz()
        BuscaVentasAnterior()
        BuscaResultatosProductividad()

    End Sub

    Private Sub DefiniciónDeParametrosToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        frmEvaluacionParamtros.ShowDialog()
    End Sub
    Sub BuscaResultadosServicios()
        dgResultadosServicios.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Presentable As String

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdServicio,NombreOperador,NoEconomico,Roles,Realizados,Servicios,Minutos,Presentable,Presentacion,Total FROM E_Servicios V INNER JOIN OperadoresGlobal O ON V.IdOperador=O.IdOperador WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdServicio"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If rdBuscar("Presentable") = 1 Then
                    Presentable = "Si"
                Else
                    Presentable = "No"
                End If
                dgResultadosServicios.Rows.Add(rdBuscar("IdServicio"), rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("Roles"), rdBuscar("Realizados"), rdBuscar("Servicios") * BuscarDblDatoCitra("SELECT Servicios FROM E_Porcentajes WHERE IdPorcentaje=1"), rdBuscar("Minutos"), rdBuscar("Puntualidad") * BuscarDblDatoCitra("SELECT Puntualidad FROM E_Porcentajes WHERE IdPorcentaje=1"), Presentable, rdBuscar("Presentacion") * BuscarDblDatoCitra("SELECT Presentacion FROM E_Porcentajes WHERE IdPorcentaje=1"), rdBuscar("Total"))
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub
    Sub BuscaPresentacionAnterior()
        dgPresentacion.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Presentable As Boolean

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdPresentacion,Codigo,NombreOperador,NoEconomico,Presentable FROM E_Presentacion V INNER JOIN OperadoresGlobal O ON V.IdOperador=O.IdOperador WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdPresentacion"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If rdBuscar("Presentable") = 1 Then
                    Presentable = True
                Else
                    Presentable = False
                End If
                dgPresentacion.Rows.Add(rdBuscar("IdPresentacion"), rdBuscar("Codigo").ToString.Trim, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, Presentable)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub
    Sub BuscaServiciosAnterior()
        dgServicios.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Realizado As String = ""

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdDespacho,Codigo,NombreOperador,NoEconomico,Rol,SalidaProg,SalidaReal,Realizado,Justificado,Justificacion FROM E_despachos V INNER JOIN OperadoresGlobal O ON V.IdOperador=O.IdOperador WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdDespacho"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If rdBuscar("Realizado") = 1 Then
                    Realizado = "Si"
                Else
                    Realizado = "No"
                End If
                dgServicios.Rows.Add(rdBuscar("IdDespacho"), rdBuscar("Codigo").ToString.Trim, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("Rol"), 0, rdBuscar("SalidaProg"), rdBuscar("SalidaReal"), Realizado, rdBuscar("justificacion"))
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub
    Sub BuscaVentasAnterior()
        dgVentas.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdVenta,Codigo,NombreOperador,NoEconomico,IdLiquidacion,Liquidacion,OptpControl,Diferencia,Movilidad,Bloqueos,Porcentaje FROM E_Ventas V INNER JOIN OperadoresGlobal O ON V.IdOperador=O.IdOperador WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdVenta"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                dgVentas.Rows.Add(rdBuscar("IdVenta"), rdBuscar("Codigo").ToString.Trim, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("IdLiquidacion"), rdBuscar("Liquidacion"), rdBuscar("OptpControl"), rdBuscar("Diferencia"), ((rdBuscar("Liquidacion") * 100) / rdBuscar("OptpControl")) / 100, rdBuscar("Movilidad"), rdBuscar("Bloqueos"), rdBuscar("Porcentaje") / 100)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()


    End Sub
    Sub BuscaDieselAnterior()
        dgRendimiento.Rows.Clear()


        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdRendimiento,Codigo,NombreOperador,NoEconomico,IdDespacho,RendStd,RendReal,Diferencia FROM E_Rendimiento E INNER JOIN OperadoresGlobal O ON E.IdOperador=O.IdOperador WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdRendimiento"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
              
                dgRendimiento.Rows.Add(rdBuscar("IdRendimiento"), rdBuscar("Codigo").ToString.Trim, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("IdDespacho"), rdBuscar("RendStd"), rdBuscar("RendReal"), rdBuscar("Diferencia"))

            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()

    End Sub
    Sub BuscaResultatosProductividad()
        dgResultadosProductividad.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Meta As String = ""

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdProductividad,NombreOperador,NoEconomico,Liquidacion,Optpcontrol,Cumplimiento,Ventas,Movilidad,Bloqueos,BloqueosPorcentaje,Total FROM E_Productividad WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdProductividad"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If rdBuscar("Cumplimiento") >= 95 Then
                    Meta = "Si"
                Else
                    Meta = "No"
                End If
                dgResultadosProductividad.Rows.Add(rdBuscar("IdProductividad"), rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("Liquidacion"), rdBuscar("Optpcontrol"), Meta, rdBuscar("Ventas") / 100, rdBuscar("Movilidad"), rdBuscar("Bloqueos"), rdBuscar("BloqueosPorcentaje") / 100, rdBuscar("Total") / 100)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub
    Sub BuscaResultadosDiesel()
        dgResultadosDiesel.Rows.Clear()


        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Meta As String = ""

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdDiesel,NombreOperador,NoEconomico,Rendimiento,Total FROM E_Diesel WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdDiesel"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If rdBuscar("Rendimiento") = 0 Then
                    Meta = "No"
                Else
                    Meta = "Si"
                End If
                dgResultadosDiesel.Rows.Add(rdBuscar("IdDiesel"), rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, Meta, rdBuscar("Total") / 100)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()

    End Sub
    Sub BuscaVentas()
        dgVentas.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT L.IdAutobus,CodigoOperador,NombreOperador,L.NoEconomico,IdLiquidacion,Liquidacion FROM Liquidacion L INNER JOIN Autobuses A ON L.IdAutobus=A.IdAutobus WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND a.Importe05=" & Empresa & " ORDER BY L.NoEconomico"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                'SELECT SUM(MONTO_TOLERADO_MENOS_DEDUCCION) AS TOTAL FROM HISTORICO_RECAUDACION H INNER JOIN VEHICULO V ON H.ID_VEHICULO=V.ID_VEHICULO WHERE COD_VEHICULO='9500' AND CONVERT(VARCHAR,FECHA,101)='03/10/2013'
                'SELECT SUM(PASAJEROS) AS PASAJEROS FROM HISTORICO_RECAUDACION H INNER JOIN VEHICULO V ON H.ID_VEHICULO=V.ID_VEHICULO WHERE COD_VEHICULO='9500' AND CONVERT(VARCHAR,FECHA,101)='03/10/2013'
                DatosOptocontrol(BuscarStrDatoCitra("SELECT COD_VEHICULO FROM AUTOBUSES WHERE IdAutobus=" & rdBuscar("IdAutobus")), datFecha.Value)
                SqlConnection.ClearAllPools()
                dgVentas.Rows.Add(0, rdBuscar("CodigoOperador").ToString.Trim, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("IdLiquidacion"), rdBuscar("Liquidacion") + 300, Monto, (rdBuscar("Liquidacion") + 300) - Monto, (((rdBuscar("Liquidacion") + 300) * 100) / Monto) / 100, Pasajeros, Bloqueos, ((Bloqueos * 100) / Pasajeros) / 100)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
        SqlConnection.ClearAllPools()
        FormateaGrids()

    End Sub
    Sub DatosOptocontrol(ByVal Cod_Vehiculo As String, ByVal Fecha As Date)
        Dim Resultados(4) As Double

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim FechaStr As String = Fecha.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = OptocontrolConnection
            strSql = "SELECT SUM(Pasajeros) as Pasajeros, SUM(Bloqueos) as Bloqueos, sum(Monto_Tolerado_Menos_Deduccion) as Monto FROM HISTORICO_RECAUDACION H INNER JOIN VEHICULO V ON H.ID_VEHICULO=V.ID_VEHICULO WHERE COD_VEHICULO='" & Cod_Vehiculo & "'AND CONVERT(VARCHAR,Fecha,101)='" & FechaStr & "' GROUP BY H.ID_VEHICULO"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                Pasajeros = rdBuscar("Pasajeros")
                Bloqueos = rdBuscar("Bloqueos") / 9
                Monto = rdBuscar("Monto")
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

    End Sub
    Sub BuscaDiesel()
        dgRendimiento.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Codigo As String = ""

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT D.IdAutobus,CodigoOperador,NombreOperador,D.NoEconomico,IdDiesel,RendimientoStandart,RendimientoDia FROM Diesel D INNER JOIN Autobuses A ON D.IdAutobus=A.IdAutobus WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND a.Importe05=" & Empresa & " ORDER BY NoEconomico"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                Codigo = BuscarStrDatoCitra("SELECT CodigoOperador FROM Liquidacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdAutobus=" & rdBuscar("IdAutobus"))
                dgRendimiento.Rows.Add(0, Codigo, BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & Codigo & "'"), rdBuscar("NoEconomico").ToString.Trim, rdBuscar("IdDiesel"), rdBuscar("RendimientoStandart"), rdBuscar("RendimientoDia"), rdBuscar("RendimientoStandart") - rdBuscar("RendimientoDia"))
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()

    End Sub

    Private Sub ToolStripButton14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton14.Click
        If dgRendimiento.Rows.Count > 0 Then
            Dim Resp As Integer = MsgBox("Ya existen regitros guardados del dia seleccionado, si vuelve a generar los rendimientos, se borrarán los registros guardados, ¿Desea continuar?", MsgBoxStyle.YesNo, "Aviso")
            If Resp = 6 Then
                Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
                Call SetSqlCitra("DELETE FROM E_Rendimiento WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                Call SetSqlCitra("DELETE FROM E_Diesel WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                'Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                ActualizaMatrizRendimiento()
                Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                If Total = 0 Then
                    Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                End If
            Else
                Exit Sub
            End If
        End If

        BuscaDiesel()
        dgResultadosDiesel.Rows.Clear()

    End Sub

    Private Sub dgRendimiento_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgRendimiento.CellContentClick

    End Sub

    Private Sub dgRendimiento_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgRendimiento.CellEndEdit
        If dgRendimiento.CurrentCell.ColumnIndex = 1 Then
            Dim Codigo As String = dgRendimiento.CurrentCell.Value
            Dim Nombre As String = BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & Codigo & "' AND Empresa='" & strEmpresa & "'")
            If Nombre <> "" Then
                dgRendimiento.CurrentRow.Cells(2).Value = Nombre
            Else
                MsgBox("La clave indicada no existe, se encuentra inactiva o no pertenece a la empresa", MsgBoxStyle.Exclamation, "Aviso")
                dgRendimiento.CurrentRow.Cells(1).Value = ""
                dgRendimiento.CurrentRow.Cells(2).Value = ""
            End If
        ElseIf dgRendimiento.CurrentCell.ColumnIndex = 2 Then
            Dim Codigo As String = BuscarStrDatoCitra("SELECT Codigo FROM OperadoresGlobal WHERE UPPER(Nombre)='" & UCase(dgRendimiento.CurrentCell.Value) & "' AND Empresa='" & strEmpresa & "'")
            If Codigo <> "" Then
                Dim Nombre As String = BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & Codigo & "'")
                dgRendimiento.CurrentRow.Cells(1).Value = Codigo
                dgRendimiento.CurrentRow.Cells(2).Value = Nombre
            Else
                MsgBox("El nombre indicado no existe, se encuentra inactiva o no pertenece a la empresa", MsgBoxStyle.Exclamation, "Aviso")
                dgRendimiento.CurrentRow.Cells(1).Value = ""
                dgRendimiento.CurrentRow.Cells(2).Value = ""

            End If
        ElseIf dgRendimiento.CurrentCell.ColumnIndex = 5 Then
            dgRendimiento.CurrentRow.Cells(7).Value = dgRendimiento.CurrentRow.Cells(6).Value - dgRendimiento.CurrentRow.Cells(5).Value
        End If

        FormateaGrids()

    End Sub

    Private Sub dgRendimiento_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgRendimiento.EditingControlShowing
        If dgRendimiento.CurrentCell.ColumnIndex = 1 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompleadoCodigo
        ElseIf dgRendimiento.CurrentCell.ColumnIndex = 2 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompletadoOperadores
        ElseIf dgRendimiento.CurrentCell.ColumnIndex = 3 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompletadoAutobuses
        Else
            DirectCast(e.Control, TextBox).AutoCompleteMode = Nothing
        End If
    End Sub

    Private Sub dgServicios_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgServicios.CellEndEdit
        If dgServicios.CurrentCell.ColumnIndex = 1 Then
            Dim Codigo As String = dgServicios.CurrentCell.Value
            Dim Nombre As String = BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & Codigo & "' AND Empresa='" & strEmpresa & "'")
            If Nombre <> "" Then
                dgServicios.CurrentRow.Cells(2).Value = Nombre
            Else
                MsgBox("La clave indicada no existe, se encuentra inactiva o no pertenece a la empresa", MsgBoxStyle.Exclamation, "Aviso")
                dgServicios.CurrentRow.Cells(1).Value = ""
                dgServicios.CurrentRow.Cells(2).Value = ""
            End If
        ElseIf dgServicios.CurrentCell.ColumnIndex = 2 Then
            Dim Codigo As String = BuscarStrDatoCitra("SELECT Codigo FROM OperadoresGlobal WHERE UPPER(Nombre)='" & UCase(dgServicios.CurrentCell.Value) & "' AND Empresa='" & strEmpresa & "'")
            If Codigo <> "" Then
                Dim Nombre As String = BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & Codigo & "'")
                dgServicios.CurrentRow.Cells(1).Value = Codigo
                dgServicios.CurrentRow.Cells(2).Value = Nombre
            Else
                MsgBox("El nombre indicado no existe, se encuentra inactiva o no pertenece a la empresa", MsgBoxStyle.Exclamation, "Aviso")
                dgServicios.CurrentRow.Cells(1).Value = ""
                dgServicios.CurrentRow.Cells(2).Value = ""

            End If
        End If

        FormateaGrids()

    End Sub
    Private Sub dgServicios_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles dgServicios.EditingControlShowing
        If dgServicios.CurrentCell.ColumnIndex = 1 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompleadoCodigo
        ElseIf dgServicios.CurrentCell.ColumnIndex = 2 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompletadoOperadores
        ElseIf dgServicios.CurrentCell.ColumnIndex = 3 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompletadoAutobuses
        ElseIf dgServicios.CurrentCell.ColumnIndex = 7 Then
            DirectCast(e.Control, TextBox).AutoCompleteMode = AutoCompleteMode.SuggestAppend
            DirectCast(e.Control, TextBox).AutoCompleteSource = AutoCompleteSource.CustomSource
            DirectCast(e.Control, TextBox).AutoCompleteCustomSource = AutoCompletadohorarios

        Else
            DirectCast(e.Control, TextBox).AutoCompleteMode = Nothing
        End If
    End Sub
    Sub FormateaGrids()
        dgRendimiento.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        dgRendimiento.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgRendimiento.Columns(5).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgRendimiento.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgRendimiento.Columns(7).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgRendimiento.Columns(5).DefaultCellStyle.Format = "##,##0.0"
        dgRendimiento.Columns(6).DefaultCellStyle.Format = "##,##0.0"
        dgRendimiento.Columns(7).DefaultCellStyle.Format = "##,##0.0"
        dgRendimiento.Columns(1).ReadOnly = False
        dgRendimiento.Columns(2).ReadOnly = False
        dgRendimiento.Columns(3).ReadOnly = False
        dgRendimiento.Columns(4).ReadOnly = True
        dgRendimiento.Columns(5).ReadOnly = False
        dgRendimiento.Columns(6).ReadOnly = True
        dgRendimiento.Columns(7).ReadOnly = True

        dgResultadosDiesel.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        dgResultadosDiesel.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgResultadosDiesel.Columns(4).DefaultCellStyle.Format = "0.00%"
        dgResultadosDiesel.Columns(1).ReadOnly = True
        dgResultadosDiesel.Columns(2).ReadOnly = True
        dgResultadosDiesel.Columns(3).ReadOnly = True
        dgResultadosDiesel.Columns(4).ReadOnly = True

        For i = 3 To 10
            dgEvaluación.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgEvaluación.Columns(i).DefaultCellStyle.Format = "0.00%"
            dgEvaluación.Columns(i).ReadOnly = True
        Next
        dgEvaluación.Columns(1).ReadOnly = True
        dgEvaluación.Columns(2).ReadOnly = True
        dgEvaluación.Columns(10).DefaultCellStyle.Format = "##,##0.0"

        dgVentas.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        For i = 5 To 11
            dgVentas.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgVentas.Columns(i).DefaultCellStyle.Format = "##,##0.00"
        Next

        dgVentas.Columns(8).DefaultCellStyle.Format = "0.00%"
        dgVentas.Columns(11).DefaultCellStyle.Format = "0.00%"
        dgVentas.Columns(9).DefaultCellStyle.Format = "##,##0"
        dgVentas.Columns(10).DefaultCellStyle.Format = "##,##0"

        dgVentas.Columns(1).ReadOnly = True
        dgVentas.Columns(2).ReadOnly = True
        dgVentas.Columns(3).ReadOnly = True
        dgVentas.Columns(4).ReadOnly = True
        dgVentas.Columns(5).ReadOnly = True
        dgVentas.Columns(6).ReadOnly = True
        dgVentas.Columns(7).ReadOnly = True
        dgVentas.Columns(8).ReadOnly = True
        dgVentas.Columns(9).ReadOnly = True
        dgVentas.Columns(10).ReadOnly = True
        dgVentas.Columns(11).ReadOnly = True

        For i = 3 To 10
            dgResultadosProductividad.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgResultadosProductividad.Columns(i).DefaultCellStyle.Format = "##,##0.00"
        Next
        dgResultadosProductividad.Columns(6).DefaultCellStyle.Format = "0.00%"
        dgResultadosProductividad.Columns(9).DefaultCellStyle.Format = "0.00%"
        dgResultadosProductividad.Columns(10).DefaultCellStyle.Format = "0.00%"
        dgResultadosProductividad.Columns(7).DefaultCellStyle.Format = "##,##0"
        dgResultadosProductividad.Columns(8).DefaultCellStyle.Format = "##,##0"

        dgAcumulado.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        For i = 3 To 10
            dgAcumulado.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgAcumulado.Columns(i).DefaultCellStyle.Format = "##,##0.00"

        Next
    End Sub

    Private Sub datFecha_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles datFecha.ValueChanged
        Iniciar()

    End Sub
    Sub ActualizaMatrizServicios()
        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim IdMatriz As Integer = 0
        Dim Total As Double = 0
        Dim Servicios As Double = 0
        Dim Puntualidad As Double = 0
        Dim Presentacion As Double = 0
        Dim NuevoTotal As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                IdMatriz = rdBuscar("IdMatriz")
                Total = rdBuscar("Total")
                Servicios = rdBuscar("Servicios")
                Puntualidad = rdBuscar("Puntualidad")
                Presentacion = rdBuscar("Presentacion")
                NuevoTotal = Total - Servicios - Puntualidad - Presentacion

                Call SetSqlCitra("UPDATE E_MatrizEvaluacion SET Total=" & NuevoTotal & ",Servicios=0,Puntualidad=0,Presentacion=0 WHERE IdMatriz=" & IdMatriz)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
    End Sub
    Sub ActualizaMatrizRendimiento()
        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim IdMatriz As Integer = 0
        Dim Total As Double = 0
        Dim Rendimiento As Double = 0
        Dim NuevoTotal As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                IdMatriz = rdBuscar("IdMatriz")
                Total = rdBuscar("Total")
                Rendimiento = rdBuscar("Rendimiento")
                NuevoTotal = Total - Rendimiento

                Call SetSqlCitra("UPDATE E_MatrizEvaluacion SET Total=" & NuevoTotal & ",Rendimiento=0 WHERE IdMatriz=" & IdMatriz)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
    End Sub
    Sub ActualizaMatrizVentas()
        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim IdMatriz As Integer = 0
        Dim Total As Double = 0
        Dim Ventas As Double = 0
        Dim Bloqueo As Double = 0
        Dim NuevoTotal As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                IdMatriz = rdBuscar("IdMatriz")
                Total = rdBuscar("Total")
                Bloqueo = rdBuscar("Bloqueos")
                Ventas = rdBuscar("Ventas")
                NuevoTotal = Total - Bloqueo - Ventas

                Call SetSqlCitra("UPDATE E_MatrizEvaluacion SET Total=" & NuevoTotal & ",Ventas=0,Bloqueos=0 WHERE IdMatriz=" & IdMatriz)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
    End Sub
    Sub GuardaVentas()
        If dgVentas.Rows.Count > 0 Then
            Dim V As New clsE_Ventas
            Dim P As New clsE_Productividad
            Dim M As New clsE_MatrizEvaluación

            Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
            Dim PorcentajeVentas As Double = BuscarDblDatoCitra("SELECT Ventas FROM E_Porcentajes WHERE IdPorcentaje=1")
            Dim PorcentajeBloqueos As Double = BuscarDblDatoCitra("SELECT Bloqueos FROM E_Porcentajes WHERE IdPorcentaje=1")

            Call SetSqlCitra("DELETE FROM E_Productividad WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            ActualizaMatrizVentas()
            Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            If Total = 0 Then
                Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            End If

            Dim Completado As Double = 0

            For i = 0 To dgVentas.Rows.Count - 1
                V.IdVenta = dgVentas.Rows(i).Cells(0).Value
                V.IdAutobus = BuscarIntDatoCitra("SELECT IdAutobus FROM Autobuses WHERE NoEconomico='" & dgVentas.Rows(i).Cells(3).Value & "'")
                V.NoEconomico = dgVentas.Rows(i).Cells(3).Value
                V.IdOperador = BuscarIntDatoCitra("SELECT IdOperador FROM OperadoresGlobal WHERE Codigo='" & dgVentas.Rows(i).Cells(1).Value & "'")
                V.NombreOperador = dgVentas.Rows(i).Cells(2).Value
                V.Fecha = datFecha.Value
                V.Dia = V.Fecha.Day
                V.Mes = V.Fecha.Month
                V.Anio = V.Fecha.Year
                V.IdLiquidacion = dgVentas.Rows(i).Cells(4).Value
                V.Liquidacion = dgVentas.Rows(i).Cells(5).Value
                V.Optocontrol = dgVentas.Rows(i).Cells(6).Value
                V.Diferencia = dgVentas.Rows(i).Cells(7).Value
                Completado = (V.Liquidacion * 100) / V.Optocontrol
                If Completado < 95 Then
                    V.MetaV = 0
                Else
                    V.MetaV = 1
                End If
                V.Movilidad = dgVentas.Rows(i).Cells(9).Value
                V.Bloqueos = dgVentas.Rows(i).Cells(10).Value
                V.Porcentaje = (V.Bloqueos * 100) / V.Movilidad
                If V.Porcentaje > 35 Then
                    V.MetaB = 0
                Else
                    V.MetaB = 1
                End If

                P.IdAutobus = V.IdAutobus
                P.NoEconomico = V.NoEconomico
                P.IdOperador = V.IdOperador
                P.NombreOperador = V.NombreOperador
                P.Fecha = datFecha.Value
                P.Dia = P.Fecha.Day
                P.Mes = P.Fecha.Month
                P.Anio = P.Fecha.Year
                P.Liquidacion = V.Liquidacion
                P.Optocontrol = V.Optocontrol
                P.Cumplimiento = Completado
                If V.MetaV = 0 Then
                    P.Ventas = 0
                Else
                    P.Ventas = 42
                End If
                P.Movilidad = V.Movilidad
                P.Bloqueos = V.Bloqueos
                If V.MetaB = 0 Then
                    P.BloqueoPorcentaje = 0
                Else
                    P.BloqueoPorcentaje = 18
                End If
                P.Total = P.Ventas + P.BloqueoPorcentaje

                If V.IdVenta > 0 Then
                    V.Actualizar()
                Else
                    V.Insertar()
                End If

                P.Insertar()

                M.IdMatriz = BuscarIntDatoCitra("SELECT IdMatriz FROM E_MatrizEvaluacion WHERE IdAutobus=" & V.IdAutobus & " AND IdOperador=" & V.IdOperador & " AND CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                M.IdAutobus = V.IdAutobus
                M.NoEconomico = V.NoEconomico
                M.IdOperador = V.IdOperador
                M.NombreOperador = V.NombreOperador
                M.Fecha = datFecha.Value
                M.Dia = M.Fecha.Day
                M.Mes = M.Fecha.Month
                M.Anio = M.Fecha.Year
                If M.IdMatriz > 0 Then
                    M.Servicios = BuscarDblDatoCitra("SELECT Servicios FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Puntualidad = BuscarDblDatoCitra("SELECT Puntualidad FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Presentacion = BuscarDblDatoCitra("SELECT Presentacion FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Rendimiento = BuscarDblDatoCitra("SELECT Rendimiento FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                Else
                    M.Servicios = 0
                    M.Puntualidad = 0
                    M.Presentacion = 0
                    M.Rendimiento = 0
                   
                End If
                M.Ventas = P.Ventas
                M.Bloqueos = P.BloqueoPorcentaje
                M.Total = M.Servicios + M.Puntualidad + M.Presentacion + M.Ventas + M.Bloqueos + M.Rendimiento

                If M.IdMatriz > 0 Then
                    M.ActualizadesdeVentas()
                Else
                    M.Insertar()
                End If
            Next
        End If

        BuscaEvaluaciónMatriz()
        BuscaResultatosProductividad()

        MsgBox("Las ventas se han guardado", MsgBoxStyle.Information, "Aviso")
    End Sub
    Sub GuardaPresentacion()
        If dgPresentacion.Rows.Count > 0 Then
            Dim P As New clsE_Presentacion

            Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

            Call SetSqlCitra("DELETE FROM E_Servicios WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            ActualizaMatrizServicios()
            Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            If Total = 0 Then
                Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            End If

            For i = 0 To dgPresentacion.Rows.Count - 1
                P.IdPresentacion = dgPresentacion.Rows(i).Cells(0).Value
                P.IdAutobus = BuscarIntDatoCitra("SELECT IdAutobus FROM Autobuses WHERE NoEconomico='" & dgPresentacion.Rows(i).Cells(3).Value & "'")
                P.NoEconomico = dgPresentacion.Rows(i).Cells(3).Value
                P.IdOperador = BuscarIntDatoCitra("SELECT IdOperador FROM OperadoresGlobal WHERE Codigo='" & dgPresentacion.Rows(i).Cells(1).Value & "'")
                P.NombreOperador = dgPresentacion.Rows(i).Cells(2).Value
                P.Fecha = datFecha.Value
                P.Dia = P.Fecha.Day
                P.Mes = P.Fecha.Month
                P.Anio = P.Fecha.Year
                If dgPresentacion.Rows(i).Cells(4).EditedFormattedValue = True Then
                    P.Presentable = 1
                Else
                    P.Presentable = 0
                End If

                If P.IdPresentacion > 0 Then
                    P.Actualizar()
                Else
                    P.Insertar()
                End If

            Next

        End If


      

        MsgBox("La presentación se han guardado", MsgBoxStyle.Information, "Aviso")
    End Sub
    Sub GuardaDespachos()
        If dgServicios.Rows.Count > 0 Then
            Dim D As New clsE_Despachos

            Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
            Dim PorcentajeServicios As Double = BuscarDblDatoCitra("SELECT Servicios FROM E_Porcentajes WHERE IdPorcentaje=1")
            Dim PorcentajePuntualidad As Double = BuscarDblDatoCitra("SELECT Puntualidad FROM E_Porcentajes WHERE IdPorcentaje=1")

            Call SetSqlCitra("DELETE FROM E_Servicios WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            ActualizaMatrizServicios()
            Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            If Total = 0 Then
                Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            End If

            Dim MinutosProgramados As Integer
            Dim MinutosReales As Integer

            For i = 0 To dgServicios.Rows.Count - 1
                D.IdDespacho = dgServicios.Rows(i).Cells(0).Value
                D.IdAutobus = BuscarIntDatoCitra("SELECT IdAutobus FROM Autobuses WHERE NoEconomico='" & dgServicios.Rows(i).Cells(3).Value & "'")
                D.NoEconomico = dgServicios.Rows(i).Cells(3).Value
                D.IdOperador = BuscarIntDatoCitra("SELECT IdOperador FROM OperadoresGlobal WHERE Codigo='" & dgServicios.Rows(i).Cells(1).Value & "'")
                D.NombreOperador = dgServicios.Rows(i).Cells(2).Value
                D.Fecha = datFecha.Value
                D.Dia = D.Fecha.Day
                D.Mes = D.Fecha.Month
                D.Anio = D.Fecha.Year
                D.Rol = dgServicios.Rows(i).Cells(4).Value
                D.SalidaProg = dgServicios.Rows(i).Cells(6).Value
                D.SalidaReal = dgServicios.Rows(i).Cells(7).Value
                If dgServicios.Rows(i).Cells(8).Value = "Si" Then
                    D.Realizado = 1
                    D.Justificado = 1
                    D.Justificacion = dgServicios.Rows(i).Cells(9).Value
                Else
                    D.Realizado = 0
                    If dgServicios.Rows(i).Cells(9).Value <> "N/A" Or dgServicios.Rows(i).Cells(9).Value <> "No Justificado" Then
                        D.Justificado = 1
                        D.Justificacion = dgServicios.Rows(i).Cells(9).Value
                    Else
                        D.Justificado = 0
                        D.Justificacion = dgServicios.Rows(i).Cells(9).Value
                    End If
                End If
                MinutosProgramados = CDec(Mid(dgServicios.Rows(i).Cells(6).Value, 4, 2))
                MinutosReales = CDec(Mid(dgServicios.Rows(i).Cells(7).Value, 4, 2))
                D.Minutos = MinutosProgramados - MinutosReales

                If D.IdDespacho > 0 Then
                    D.Actualizar()
                Else
                    D.Insertar()
                End If

            Next

        End If


       

        MsgBox("Los despachos se han guardado", MsgBoxStyle.Information, "Aviso")
    End Sub
    Function Minutos(ByVal IdOperador As Integer) As Integer
        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        cnConn.ConnectionString = CitraConnection
        strSql = "SELECT * FROM E_Despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdOperador=" & IdOperador

        cmdBuscar.Connection = cnConn
        cmdBuscar.CommandText = strSql

        cnConn.Open()
        rdBuscar = cmdBuscar.ExecuteReader

        Dim MinutosProgramados As Integer
        Dim MinutosReales As Integer
        Dim MinutosDiferencia As Integer

        Do While rdBuscar.Read()
            MinutosProgramados = Mid(rdBuscar("SalidaProg"), 4, 2)
            MinutosReales = Mid(rdBuscar("SalidaReal"), 4, 2)
            MinutosDiferencia = MinutosDiferencia + (MinutosProgramados - MinutosReales)
        Loop

        Return MinutosDiferencia

    End Function
    Sub GuardaServicios()
        Dim S As New clsE_Servicios
        Dim M As New clsE_MatrizEvaluación

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim PorcentajeServicios As Double = BuscarDblDatoCitra("SELECT Servicios FROM E_Porcentajes WHERE IdPorcentaje=1")
        Dim PorcentajePuntualidad As Double = BuscarDblDatoCitra("SELECT Puntualidad FROM E_Porcentajes WHERE IdPorcentaje=1")
        Dim PorcentajePresentacion As Double = BuscarDblDatoCitra("SELECT Presentacion FROM E_Porcentajes WHERE IdPorcentaje=1")
        Dim ServiciosImpuntuales As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Presentacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                S.IdAutobus = rdBuscar("IdAutobus")
                S.NoEconomico = rdBuscar("NoEconomico")
                S.IdOperador = rdBuscar("IdOperador")
                S.NombreOperador = rdBuscar("NombreOperador")
                S.Fecha = rdBuscar("Fecha")
                S.Dia = rdBuscar("Dia")
                S.Mes = rdBuscar("Mes")
                S.Anio = rdBuscar("Anio")
                S.Roles = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_Despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdOperador=" & S.IdOperador)
                S.Realizados = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdOperador=" & S.IdOperador & " AND SalidaReal<>''")
                If S.Roles = S.Realizados Then
                    S.Servicios = 1
                Else
                    If S.Roles = BuscarDblDatoCitra("SELECT COUNT(Justificado) FROM E_Despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdOperador=" & S.IdOperador) Then
                        S.Servicios = 1
                    Else
                        S.Servicios = 0
                    End If
                End If
                S.Minutos = Minutos(S.IdOperador)
                ServiciosImpuntuales = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' AND IdOperador=" & S.IdOperador & " AND Minutos<>0")
                If ((ServiciosImpuntuales * 100) / S.Roles) > 30 Then
                    S.Puntualidad = 0
                Else
                    S.Puntualidad = 1
                End If
                S.Presentable = rdBuscar("Presentable")
                S.Presentacion = rdBuscar("Presentable")
                S.Total = (S.Servicios * PorcentajeServicios) + (S.Puntualidad * PorcentajePuntualidad) + (S.Presentacion * PorcentajePresentacion)
                S.Insertar()

                M.IdMatriz = BuscarIntDatoCitra("SELECT IdMatriz FROM E_MatrizEvaluacion WHERE IdAutobus=" & S.IdAutobus & " AND IdOperador=" & S.IdOperador & " AND CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                M.IdAutobus = S.IdAutobus
                M.NoEconomico = S.NoEconomico
                M.IdOperador = S.IdOperador
                M.NombreOperador = S.NombreOperador
                M.Fecha = datFecha.Value
                M.Dia = M.Fecha.Day
                M.Mes = M.Fecha.Month
                M.Anio = M.Fecha.Year
                If M.IdMatriz > 0 Then
                    M.Ventas = BuscarDblDatoCitra("SELECT Ventas FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Bloqueos = BuscarDblDatoCitra("SELECT Bloqueos FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Rendimiento = BuscarDblDatoCitra("SELECT Rendimiento FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                Else
                    M.Ventas = 0
                    M.Bloqueos = 0
                    M.Rendimiento = 0
                End If
                M.Servicios = S.Servicios * PorcentajeServicios
                M.Puntualidad = S.Puntualidad * PorcentajePuntualidad
                M.Presentacion = S.Presentacion * PorcentajePresentacion
                M.Total = M.Servicios + M.Puntualidad + M.Presentacion + M.Ventas + M.Bloqueos + M.Rendimiento

                If M.IdMatriz > 0 Then
                    M.ActualizadesdeServicios()
                Else
                    M.Insertar()
                End If
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
        BuscaEvaluaciónMatriz()
        BuscaResultadosServicios()
    End Sub
    Sub GuardaRendimientos()
        If dgRendimiento.Rows.Count > 0 Then
            Dim R As New clsE_Rendimiento
            Dim D As New clsE_diesel
            Dim M As New clsE_MatrizEvaluación

            Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
            Dim Porcentaje As Double = BuscarDblDatoCitra("SELECT Rendimiento FROM E_Porcentajes WHERE IdPorcentaje=1")

            Call SetSqlCitra("DELETE FROM E_Diesel WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            ActualizaMatrizRendimiento()
            Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            If Total = 0 Then
                Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            End If

            For i = 0 To dgRendimiento.Rows.Count - 1
                R.IdRendimiento = dgRendimiento.Rows(i).Cells(0).Value
                R.IdAutobus = BuscarIntDatoCitra("SELECT IdAutobus FROM Autobuses WHERE NoEconomico='" & dgRendimiento.Rows(i).Cells(3).Value & "'")
                R.NoEconomico = dgRendimiento.Rows(i).Cells(3).Value
                R.IdOperador = BuscarIntDatoCitra("SELECT IdOperador FROM OperadoresGlobal WHERE Codigo='" & dgRendimiento.Rows(i).Cells(1).Value & "'")
                R.NombreOperador = dgRendimiento.Rows(i).Cells(2).Value
                R.Fecha = datFecha.Value
                R.Dia = R.Fecha.Day
                R.Mes = R.Fecha.Month
                R.Anio = R.Fecha.Year
                R.IdDespacho = dgRendimiento.Rows(i).Cells(4).Value
                R.RendStd = dgRendimiento.Rows(i).Cells(5).Value
                R.RendReal = dgRendimiento.Rows(i).Cells(6).Value
                R.Diferencia = dgRendimiento.Rows(i).Cells(7).Value

                D.IdAutobus = R.IdAutobus
                D.NoEconomico = R.NoEconomico
                D.IdOperador = R.IdOperador
                D.NombreOperador = R.NombreOperador
                D.Fecha = datFecha.Value
                D.Dia = D.Fecha.Day
                D.Mes = D.Fecha.Month
                D.Anio = D.Fecha.Year
                If R.Diferencia >= 0 Then
                    D.Rendimiento = 1
                    D.Total = Porcentaje
                Else
                    D.Rendimiento = 0
                    D.Total = 0
                End If

                If R.IdRendimiento > 0 Then
                    R.Actualizar()
                Else
                    R.Insertar()
                End If

                D.Insertar()

                M.IdMatriz = BuscarIntDatoCitra("SELECT IdMatriz FROM E_MatrizEvaluacion WHERE IdAutobus=" & R.IdAutobus & " AND IdOperador=" & R.IdOperador & " AND CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                M.IdAutobus = R.IdAutobus
                M.NoEconomico = R.NoEconomico
                M.IdOperador = R.IdOperador
                M.NombreOperador = R.NombreOperador
                M.Fecha = datFecha.Value
                M.Dia = M.Fecha.Day
                M.Mes = M.Fecha.Month
                M.Anio = M.Fecha.Year
                If M.IdMatriz > 0 Then
                    M.Servicios = BuscarDblDatoCitra("SELECT Servicios FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Puntualidad = BuscarDblDatoCitra("SELECT Puntualidad FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Presentacion = BuscarDblDatoCitra("SELECT Presentacion FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Ventas = BuscarDblDatoCitra("SELECT Ventas FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                    M.Bloqueos = BuscarDblDatoCitra("SELECT Bloqueos FROM E_MatrizEvaluacion WHERE IdMatriz=" & M.IdMatriz)
                Else
                    M.Servicios = 0
                    M.Puntualidad = 0
                    M.Presentacion = 0
                    M.Ventas = 0
                    M.Bloqueos = 0
                End If
                M.Rendimiento = D.Total
                M.Total = M.Servicios + M.Puntualidad + M.Presentacion + M.Ventas + M.Bloqueos + M.Rendimiento

                If M.IdMatriz > 0 Then
                    M.ActualizardesdeDiesel()
                Else
                    M.Insertar()
                End If
            Next
        End If

        BuscaEvaluaciónMatriz()
        BuscaResultadosDiesel()

        MsgBox("El rendimiento se ha guardado", MsgBoxStyle.Information, "Aviso")
    End Sub
    Sub BuscaEvaluaciónMatriz()
        dgEvaluación.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Incentivo As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT IdMatriz,NombreOperador,NoEconomico,Servicios,Puntualidad,Presentacion,Rendimiento,Ventas,Bloqueos,Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "' ORDER BY IdMatriz"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                Incentivo = 150 * (rdBuscar("Total") / 100)
                dgEvaluación.Rows.Add(rdBuscar("IdMatriz"), rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico").ToString.Trim, rdBuscar("Servicios") / 100, rdBuscar("Puntualidad") / 100, rdBuscar("Presentacion") / 100, rdBuscar("Rendimiento") / 100, rdBuscar("Ventas") / 100, rdBuscar("Bloqueos") / 100, rdBuscar("Total") / 100, Incentivo)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub

    Private Sub ToolStripButton13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton13.Click
        GuardaRendimientos()

    End Sub

    Private Sub ToolStripButton27_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton27.Click
        Close()

    End Sub

    Private Sub ToolStripButton11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton11.Click
        Dim Resp As Integer = MsgBox("¿Desea eliminar los registros de rendimiento del dia?", MsgBoxStyle.YesNo, "Aviso")
        If Resp = 6 Then
            Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
            Call SetSqlCitra("DELETE FROM E_Rendimiento WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Diesel WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            Call SetSqlCitra("UPDATE E_MatrizEvaluacion SET Total=Total-Rendimiento,Rendimiento=0 WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")

            Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'" & " GROUP BY IdMatriz")
            If Total = 0 Then
                Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
            End If

            BuscaDieselAnterior()
            BuscaResultadosDiesel()
            BuscaEvaluaciónMatriz()
        End If
    End Sub

    Private Sub ToolStripButton19_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton19.Click
        If dgVentas.Rows.Count > 0 Then
            Dim Resp As Integer = MsgBox("Ya existen regitros guardados del dia seleccionado, si vuelve a generar las ventas, se borrarán los registros guardados, ¿Desea continuar?", MsgBoxStyle.YesNo, "Aviso")
            If Resp = 6 Then
                Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
                Call SetSqlCitra("DELETE FROM E_Ventas WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                Call SetSqlCitra("DELETE FROM E_Productividad WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                'Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                ActualizaMatrizVentas()
                Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                If Total = 0 Then
                    Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                End If
            Else
                Exit Sub
            End If
        End If

        BuscaVentas()
        dgResultadosProductividad.Rows.Clear()
    End Sub

    Private Sub ToolStripButton20_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton20.Click
        GuardaVentas()
    End Sub
    Sub GeneraAcumulado()
        dgAcumulado.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim FechaInicial As String = datFechaInicial.Value.ToString("MM/dd/yyyy")
        Dim FechaFinal As String = datFechaFinal.Value.ToString("MM/dd/yyyy")
        Dim Incentivo As Double = 0

        Dim Dia1 As String = datFechaInicial.Value.ToString("MM/dd/yyyy")
        Dim Dia2 As String = datFechaInicial.Value.AddDays(1).ToString("MM/dd/yyyy")
        Dim Dia3 As String = datFechaInicial.Value.AddDays(2).ToString("MM/dd/yyyy")
        Dim Dia4 As String = datFechaInicial.Value.AddDays(3).ToString("MM/dd/yyyy")
        Dim Dia5 As String = datFechaInicial.Value.AddDays(4).ToString("MM/dd/yyyy")
        Dim Dia6 As String = datFechaInicial.Value.AddDays(5).ToString("MM/dd/yyyy")
        Dim Dia7 As String = datFechaInicial.Value.AddDays(6).ToString("MM/dd/yyyy")

        Dim Operador As Integer = "666999666"
        Dim Fila As Integer = -1
        Dim Fecha As Date
        Dim FechaStr As String = ""
        Dim Acumulado As Double = 0
        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)>='" & FechaInicial & "' AND CONVERT(VARCHAR,Fecha,101)<='" & FechaFinal & "' ORDER BY NombreOperador,NoEconomico"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                If Operador <> rdBuscar("IdOperador") Then
                    dgAcumulado.Rows.Add(0, rdBuscar("NombreOperador").ToString.Trim, rdBuscar("NoEconomico"), 0, 0, 0, 0, 0, 0, 0, rdBuscar("IdOperador"))
                    Fila = Fila + 1
                End If
                Operador = rdBuscar("IdOperador")
                Fecha = rdBuscar("Fecha")
                FechaStr = Fecha.ToString("MM/dd/yyyy")
                Incentivo = 150 * (rdBuscar("Total") / 100)
                Select Case FechaStr
                    Case Dia1
                        dgAcumulado.Rows(Fila).Cells(3).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(3).Value
                    Case Dia2
                        dgAcumulado.Rows(Fila).Cells(4).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(4).Value
                    Case Dia3
                        dgAcumulado.Rows(Fila).Cells(5).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(5).Value
                    Case Dia4
                        dgAcumulado.Rows(Fila).Cells(6).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(6).Value
                    Case Dia5
                        dgAcumulado.Rows(Fila).Cells(7).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(7).Value
                    Case Dia6
                        dgAcumulado.Rows(Fila).Cells(8).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(8).Value
                    Case Dia7
                        dgAcumulado.Rows(Fila).Cells(9).Value = Incentivo + dgAcumulado.Rows(Fila).Cells(9).Value
                End Select
                dgAcumulado.Rows(Fila).Cells(11).Value = Operador
            Loop

            For i = 0 To dgAcumulado.Rows.Count - 1
                For j = 3 To 9
                    Acumulado = Acumulado + dgAcumulado.Rows(i).Cells(j).Value
                Next
                dgAcumulado.Rows(i).Cells(10).Value = Acumulado
                Acumulado = 0
            Next
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()

    End Sub

    Private Sub ToolStripButton22_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton22.Click
        GeneraAcumulado()

    End Sub

    Private Sub VerCargaDeDieselToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerCargaDeDieselToolStripMenuItem.Click
        frmE_Diesel.txtFolio.Text = dgRendimiento.CurrentRow.Cells(4).Value
        frmE_Diesel.ShowDialog()

    End Sub

    Private Sub cmRendimientos_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles cmRendimientos.Opening

    End Sub

    Private Sub VerLiquidaciónToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerLiquidaciónToolStripMenuItem.Click
        frmE_liquidacion.txtFolio.Text = dgVentas.CurrentRow.Cells(4).Value
        frmE_liquidacion.ShowDialog()
    End Sub

    Private Sub VerDetalladoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerDetalladoToolStripMenuItem.Click
        frm_E_Detallado.txtIDOperador.Text = dgAcumulado.CurrentRow.Cells(11).Value
        frm_E_Detallado.Text = dgAcumulado.CurrentRow.Cells(1).Value
        frm_E_Detallado.ShowDialog()

    End Sub

    Private Sub ToolStripButton23_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton23.Click
        Close()

    End Sub

    Private Sub ToolStripButton26_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton26.Click
        If dgServicios.Rows.Count > 0 Then
            Dim Resp As Integer = MsgBox("Ya existen regitros guardados del dia seleccionado, si vuelve a generar los horarios, se borrarán los registros guardados, ¿Desea continuar?", MsgBoxStyle.YesNo, "Aviso")
            If Resp = 6 Then
                Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
                Call SetSqlCitra("DELETE FROM E_Despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                Call SetSqlCitra("DELETE FROM E_Servicios WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                'Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                ActualizaMatrizServicios()
                Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                If Total = 0 Then
                    Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                End If
            Else
                Exit Sub
            End If
        End If

        BuscaHorarios()
        dgResultadosServicios.Rows.Clear()
    End Sub

    Sub BuscaHorarios()
        dgServicios.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader
        Dim strSql As String

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim FechaHora As Date
        Dim Hora As String
        Dim IdConductor As Integer
        Dim Nombre As String = ""
        Dim CodigoCitra As String = ""
        Dim NombreCitra As String = ""
        Dim NombreRol As String = ""
        Dim IdRol As Integer = 0
        Dim HoraProgramado As String = ""
        Dim DiaEntero As Integer = 0
        Dim TipoDia As String = ""
        Dim HoraBusqueda As String = ""
        Dim MinutoCompara As Integer = 0
        Dim MinutoEntero As Integer = 0

        Call SetSqlCitra("UPDATE E_Roles SET Encontrado=0")

        Try
            cnConn.ConnectionString = OptocontrolConnection
            strSql = "SELECT ID_CONDUCTOR_DVR,FECHA,COD_VEHICULO,FECHA_HORA_INICIO,FECHA_HORA_FIN,MINUTOS,R.COD_RUTA FROM HISTORICO_RECAUDACION H INNER JOIN VEHICULO V ON H.ID_VEHICULO=V.ID_VEHICULO INNER JOIN RUTA R ON H.ID_RUTA=R.ID_RUTA INNER JOIN CONDUCTOR O ON O.ID_CONDUCTOR=H.ID_CONDUCTOR WHERE CONVERT(VARCHAR,FECHA,101)='" & Fecha & "'  ORDER BY COD_VEHICULO,FECHA_HORA_INICIO"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            DiaEntero = datFecha.Value.DayOfWeek

            Do While rdBuscar.Read()
                IdConductor = rdBuscar("ID_CONDUCTOR_DVR")
                Nombre = BuscarStrDatoOptoControl("SELECT (APELLIDO1 + ' ' + APELLIDO2 + ' ' + NOMBRE) AS NOMBRECOMPLETO FROM CONDUCTOR WHERE ID_CONDUCTOR_DVR=" & IdConductor)
                CodigoCitra = BuscarStrDatoCitra("SELECT Codigo FROM OperadoresGlobal WHERE UPPER(Nombre)='" & UCase(Nombre) & "'")
                If CodigoCitra <> "" Then
                    NombreCitra = BuscarStrDatoCitra("SELECT Nombre FROM OperadoresGlobal WHERE Codigo='" & CodigoCitra & "'")
                Else
                    NombreCitra = ""
                End If
                FechaHora = rdBuscar("FECHA_HORA_INICIO")
                Hora = FechaHora.ToString("HH:mm")
                NombreRol = rdBuscar("COD_RUTA")

                Select Case DiaEntero
                    Case 1
                        TipoDia = "L"
                    Case 2
                        TipoDia = "L"
                    Case 3
                        TipoDia = "L"
                    Case 4
                        TipoDia = "L"
                    Case 5
                        TipoDia = "L"
                    Case 6
                        TipoDia = "S"
                    Case 7
                        TipoDia = "D"
                End Select

                HoraBusqueda = Hora

                IdRol = BuscarIntDatoCitra("SELECT IdRol FROM E_Roles WHERE Nombre ='" & NombreRol & "' AND Salida LIKE '%" & Mid(HoraBusqueda, 1, 4) & "%' AND TipoDia='" & TipoDia & "'")
                If IdRol > 0 Then
                    Call SetSqlCitra("UPDATE E_Roles SET Encontrado=1 WHERE IDRol=" & IdRol)
                    HoraProgramado = BuscarStrDatoCitra("SELECT Salida FROM E_Roles WHERE IdRol=" & IdRol)
                Else
                    MinutoCompara = Mid(Hora, 5, 1)
                    If MinutoCompara > 5 Then
                        'COMPARA HACIA ARRIBA PRIMERO
                        MinutoEntero = (CDec(Mid(Hora, 4, 1))) + 1
                        HoraBusqueda = Mid(Hora, 1, 3) & MinutoEntero
                        IdRol = BuscarIntDatoCitra("SELECT IdRol FROM E_Roles WHERE Nombre ='" & NombreRol & "' AND Salida LIKE '%" & Mid(HoraBusqueda, 1, 4) & "%' AND TipoDia='" & TipoDia & "'")
                        If IdRol > 0 Then
                            Call SetSqlCitra("UPDATE E_Roles SET Encontrado=1 WHERE IDRol=" & IdRol)
                            HoraProgramado = BuscarStrDatoCitra("SELECT Salida FROM E_Roles WHERE IdRol=" & IdRol)
                        Else
                            MinutoEntero = (CDec(Mid(Hora, 4, 1))) - 1
                            HoraBusqueda = Mid(Hora, 1, 3) & MinutoEntero
                            IdRol = BuscarIntDatoCitra("SELECT IdRol FROM E_Roles WHERE Nombre ='" & NombreRol & "' AND Salida LIKE '%" & Mid(HoraBusqueda, 1, 4) & "%' AND TipoDia='" & TipoDia & "'")
                            If IdRol > 0 Then
                                Call SetSqlCitra("UPDATE E_Roles SET Encontrado=1 WHERE IDRol=" & IdRol)
                                HoraProgramado = BuscarStrDatoCitra("SELECT Salida FROM E_Roles WHERE IdRol=" & IdRol)
                            Else
                                HoraProgramado = ""
                            End If

                        End If
                    Else
                        'COMPARA HACIA ARRIBA PRIMERO
                        MinutoEntero = (CDec(Mid(Hora, 4, 1))) - 1
                        HoraBusqueda = Mid(Hora, 1, 3) & MinutoEntero
                        IdRol = BuscarIntDatoCitra("SELECT IdRol FROM E_Roles WHERE Nombre ='" & NombreRol & "' AND Salida LIKE '%" & Mid(HoraBusqueda, 1, 4) & "%' AND TipoDia='" & TipoDia & "'")
                        If IdRol > 0 Then
                            Call SetSqlCitra("UPDATE E_Roles SET Encontrado=1 WHERE IDRol=" & IdRol)
                            HoraProgramado = BuscarStrDatoCitra("SELECT Salida FROM E_Roles WHERE IdRol=" & IdRol)
                        Else
                            MinutoEntero = (CDec(Mid(Hora, 4, 1))) + 1
                            HoraBusqueda = Mid(Hora, 1, 3) & MinutoEntero
                            IdRol = BuscarIntDatoCitra("SELECT IdRol FROM E_Roles WHERE Nombre ='" & NombreRol & "' AND Salida LIKE '%" & Mid(HoraBusqueda, 1, 4) & "%' AND TipoDia='" & TipoDia & "'")
                            If IdRol > 0 Then
                                Call SetSqlCitra("UPDATE E_Roles SET Encontrado=1 WHERE IDRol=" & IdRol)
                                HoraProgramado = BuscarStrDatoCitra("SELECT Salida FROM E_Roles WHERE IdRol=" & IdRol)
                            Else
                                HoraProgramado = ""
                            End If

                        End If
                    End If
                End If

                dgServicios.Rows.Add(0, CodigoCitra, NombreCitra, rdBuscar("COD_VEHICULO"), NombreRol, "", HoraProgramado, Hora, "Si", "N/A")
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        CargaFaltantes()

    End Sub
    Sub CargaFaltantes()
        Dim cnConn As New SqlConnection
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader
        Dim strSql As String

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim DiaEntero As Integer = 0
        Dim TipoDia As String = ""
        DiaEntero = datFecha.Value.DayOfWeek

        Select Case DiaEntero
            Case 1
                TipoDia = "L"
            Case 2
                TipoDia = "L"
            Case 3
                TipoDia = "L"
            Case 4
                TipoDia = "L"
            Case 5
                TipoDia = "L"
            Case 6
                TipoDia = "S"
            Case 7
                TipoDia = "D"
        End Select

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Roles WHERE TipoDia='" & TipoDia & "' AND ENCONTRADO=0"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader



            Do While rdBuscar.Read()
                dgServicios.Rows.Add(0, "", "", "", rdBuscar("Nombre"), "", rdBuscar("Salida"), "", "No", "N/A")
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try
    End Sub

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        frmE_Roles.ShowDialog()

    End Sub

    Private Sub ToolStripButton10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton10.Click
        GuardaDespachos()
        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Presentacion As Double = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_Presentacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
        If Presentacion > 0 Then
            GuardaServicios()
        End If
    End Sub

    Private Sub ToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton4.Click
        GuardaPresentacion()
        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
        Dim Despachos As Double = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_Despachos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
        If Despachos > 0 Then
            GuardaServicios()
        End If
    End Sub

    Private Sub ToolStripButton28_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton28.Click
        If dgPresentacion.Rows.Count > 0 Then
            Dim Resp As Integer = MsgBox("Ya existen regitros guardados del dia seleccionado, si vuelve a generar los nombres, se borrarán los registros guardados, ¿Desea continuar?", MsgBoxStyle.YesNo, "Aviso")
            If Resp = 6 Then
                Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")
                Call SetSqlCitra("DELETE FROM E_Presentacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                Call SetSqlCitra("DELETE FROM E_Servicios WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                ' Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                ActualizaMatrizServicios()
                Dim Total As Double = BuscarDblDatoCitra("SELECT SUM(Total) AS Total FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                If Total = 0 Then
                    Call SetSqlCitra("DELETE FROM E_MatrizEvaluacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'")
                End If
            Else
                Exit Sub
            End If
        End If

        BuscaConductores()
        dgResultadosServicios.Rows.Clear()
    End Sub
    Sub BuscaConductores()
        dgPresentacion.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Fecha As String = datFecha.Value.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT NombreOperador FROM E_Despachos GROUP BY NombreOperador ORDER BY NombreOperador"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                dgPresentacion.Rows.Add(0, BuscarStrDatoCitra("SELECT Codigo FROM OperadoresGlobal WHERE Nombre='" & rdBuscar("NombreOperador") & "'"), rdBuscar("NombreOperador"), BuscarStrDatoCitra("SELECT NoEconomico FROM E_Despachos WHERE NombreOperador='" & rdBuscar("NombreOperador") & "'"), True)
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub
    Sub BuscaIncentivos()
        dgAcumulado.Rows.Clear()

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim FechaInicial As String = datFechaInicial.Value.ToString("MM/dd/yyyy")
        Dim FechaFinal As String = datFechaFinal.Value.ToString("MM/dd/yyyy")

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Incentivos WHERE CONVERT(VARCHAR,FechaInicial,101)='" & FechaInicial & "' AND CONVERT(VARCHAR,FechaFinal,101)='" & FechaFinal & "'"

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                dgAcumulado.Rows.Add(rdBuscar("NombreOperador"), rdBuscar("Autobus"), rdBuscar("Dia1"), rdBuscar("Dia2"), rdBuscar("Dia3"), rdBuscar("Dia4"), rdBuscar("Dia5"), rdBuscar("Dia6"), rdBuscar("Dia7"), rdBuscar("Acumulado"))
            Loop
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

        FormateaGrids()
    End Sub

    Private Sub datFechaInicial_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles datFechaInicial.ValueChanged
        BuscaIncentivos()

    End Sub

    Private Sub datFechaFinal_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles datFechaFinal.ValueChanged
        BuscaIncentivos()

    End Sub
    Sub GuardaIncentivos()
        Dim Inc As New clsE_Incentivos
        For i = 0 To dgAcumulado.Rows.Count - 1
            Inc.IdAutobus = BuscarIntDatoCitra("SELECT IdAutobus FROM Autobuses WHERE NoEconomico='" & dgAcumulado.Rows(i).Cells(2).Value & "'")
            Inc.NoEconomico = dgAcumulado.Rows(i).Cells(2).Value
            Inc.IdOperador = dgAcumulado.Rows(i).Cells(11).Value
            Inc.NombreOperador = dgAcumulado.Rows(i).Cells(1).Value
            Inc.Dia1 = dgAcumulado.Rows(i).Cells(3).Value
            Inc.Dia2 = dgAcumulado.Rows(i).Cells(4).Value
            Inc.Dia3 = dgAcumulado.Rows(i).Cells(5).Value
            Inc.Dia4 = dgAcumulado.Rows(i).Cells(6).Value
            Inc.Dia5 = dgAcumulado.Rows(i).Cells(7).Value
            Inc.Dia6 = dgAcumulado.Rows(i).Cells(8).Value
            Inc.Dia7 = dgAcumulado.Rows(i).Cells(9).Value
            Inc.Acumulado = dgAcumulado.Rows(i).Cells(10).Value
            Inc.FechaInicial = datFechaInicial.Value
            Inc.FechaFinal = datFechaFinal.Value
            Inc.Insertar()

        Next

    End Sub

    Private Sub ToolStripButton24_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton24.Click
        Dim FechaInicial As String = datFechaInicial.Value.ToString("MM/dd/yyyy")
        Dim FechaFinal As String = datFechaFinal.Value.ToString("MM/dd/yyyy")

        Dim Incentivos As Double = BuscarDblDatoCitra("SELECT COUNT(*) FROM E_Incentivos WHERE CONVERT(VARCHAR,FechaInicial,101)='" & FechaInicial & "' AND CONVERT(VARCHAR,FechaFinal,101)='" & FechaFinal & "'")
        If Incentivos > 0 Then
            Dim Resp As Integer = MsgBox("Ya existen datos guardados, desea reemplazarlos", MsgBoxStyle.YesNo, "Aviso")
            If Resp = 6 Then
                Call SetSqlCitra("DELETE FROM E_Incentivos WHERE CONVERT(VARCHAR,FechaInicial,101)='" & FechaInicial & "' AND CONVERT(VARCHAR,FechaFinal,101)='" & FechaFinal & "'")
                GuardaIncentivos()
                MsgBox("Incentivos Guardados Correctamente", MsgBoxStyle.Information, "Aviso")
            End If
        Else
            GuardaIncentivos()
            MsgBox("Incentivos Guardados Correctamente", MsgBoxStyle.Information, "Aviso")
        End If
    End Sub

    Private Sub RegresarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RegresarToolStripMenuItem.Click
        Close()

    End Sub
End Class